import requests
from bs4 import BeautifulSoup
import pickle

# 目标登录URL
login_url = "https://chat.deepseek.com/login"  # 替换为实际的登录URL
session_url = "https://chat.deepseek.com"  # 替换为实际的会话URL

# 创建一个会话对象
session = requests.Session()

# 设置请求头（模拟浏览器）
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
    "Referer": login_url,
}

# 第一步：发送GET请求，获取登录页面并提取CSRF token
try:
    print("正在获取登录页面...")
    response = session.get(login_url, headers=headers)
    response.raise_for_status()  # 检查请求是否成功

    # 解析登录页面
    soup = BeautifulSoup(response.text, "html.parser")

    # 提取CSRF token（假设表单中有一个隐藏字段名为csrf_token）
    csrf_token = soup.find("input", {"name": "csrf_token"})["value"]
    print("CSRF Token:", csrf_token)
except Exception as e:
    print("获取登录页面失败：", e)
    exit()

# 第二步：准备登录表单数据
payload = {
    "username": "13145037933",  # 替换为您的用户名
    "password": "ldx12138",  # 替换为您的密码
    "csrf_token": csrf_token,  # 添加CSRF token
}

# 第三步：发送登录请求
try:
    print("正在登录...")
    response = session.post(login_url, data=payload, headers=headers)
    response.raise_for_status()  # 检查请求是否成功

    # 检查登录是否成功（根据实际网站的响应内容）
    if "登录成功" in response.text:  # 替换为实际的登录成功标识
        print("登录成功！")

        # 保存Cookie到文件
        with open("deepseek_cookies.pkl", "wb") as file:
            pickle.dump(session.cookies, file)
        print("Cookie已保存。")

        # 访问需要登录的页面
        print("访问会话页面...")
        session_response = session.get(session_url, headers=headers)
        print("会话页面内容：", session_response.text[:500])  # 打印部分内容
    else:
        print("登录失败，请检查用户名和密码。")
except Exception as e:
    print("登录过程中出现错误：", e)
